1) Crea el siguiente módulo:
Una vez creado el módulo, crea un script calculos.py en el mismo directorio en el que deberás importar el módulo y realizar las siguientes instrucciones. Observa si el comportamiento es el esperado:
from operaciones import *
a, b, c, d = (10, 5, 0, "Hola")
print( "{} + {} = {}".format(a, b, suma(a, b) ) )
print( "{} - {} = {}".format(b, d, resta(b, d) ) )
print( "{} * {} = {}".format(b, b, producto(b, b) ) )
print( "{} / {} = {}".format(a, c, division(a, c) ) )
def suma(a,b):
try:
r = a + b
except TypeError:
print("Error: Tipo de dato no válido")
else:
return r
def resta(a,b):
try:
r = a - b
except TypeError:
print("Error: Tipo de dato no válido")
else:
return r
def producto(a,b):
try:
r = a * b
except TypeError:
print("Error: Tipo de dato no válido")
else:
return r
def division(a,b):
try:
r = a / b
except TypeError:
print("Error: Tipo de dato no válido")
except ZeroDivisionError:
print("Error: No es posible dividir entre cero")
else:
return r
In [2]:
from operaciones import *
a, b, c, d = (10, 5, 0, "Hola")
print( "{} + {} = {}".format(a, b, suma(a, b) ) )
print( "{} - {} = {}".format(b, d, resta(b, d) ) )
print( "{} * {} = {}".format(b, b, producto(b, b) ) )
print( "{} / {} = {}".format(a, c, division(a, c) ) )
2) ¿Eres capaz de desarrollar un reloj de horas, minutos y segundos utilizando el módulo datetime con la hora actual? Hazlo en un script llamado reloj.py y ejecútalo en la terminal.
Ayudas: El módulo time integra una función llamada sleep(segundos) que puede pausar la ejecución de un programa durante un tiempo. Así mismo el módulo os integra la función system('cls') y system('clear') para limpiar la pantalla de la terminal en sistemas Windows y Linux/Unix respecticamente.
3) Crea un script llamado generador.py que cumpla las siguientes necesidades:
El objetivo de este ejercicio es practicar la reutilización de código y los módulos random y math.
Nota: Recuerda que el redondeo tradicional round() no requiere ningún módulo.
In [12]:
import random
import math
# Completa el código aquí
def leer_numero(ini,fin,mensaje):
while True:
try:
valor = int( input(mensaje) )
except:
pass
else:
if valor >= ini and valor <= fin:
break
return valor
def generador():
numeros = leer_numero(1,20,"¿Cuantos números quieres generar? [1-20]: ")
modo = leer_numero(1,3,"¿Cómo quieres redondear los números? [1]Al alza [2]A la baja [3]Normal: ")
lista = []
for i in range(numeros):
numero = random.uniform(0,101)
if modo == 1:
print("{} => {}".format(numero, math.ceil(numero)) )
numero = math.ceil(numero)
elif modo == 2:
print("{} => {}".format(numero, math.floor(numero)) )
numero = math.floor(numero)
elif modo == 3:
print("{} => {}".format(numero, round(numero)) )
numero = round(numero)
lista.append(numero)
return lista
generador()
Out[12]: